// components/authorization/index.js
// 登录拦截
// 1. 创建组件
// 2. 全局注册组件
// 3. app.js读取本地存储token 设置token 属性
// 4. authorization组件attched生命周期中获取token判断是否登录,没登录跳转到登录页
// 5. 包裹住其他页面所有元素来使用验证

Component({
  /**
   * 组件的属性列表
   */
  properties: {},
  lifetimes: {
    attached() {
      // 获取登录状态 !!转化布尔值
      const isLogin = !!getApp().token
      console.log(getApp().token)
      // 设置数据isLogin
      this.setData({
        isLogin,
      })
      // 获取页面栈
      const pageStack = getCurrentPages()
      // 获取页面路径 [1,2,3,4]  pop()返回了4
      const currentPage = pageStack.pop()
      const route = currentPage.route
      if (!isLogin) {
        // 有回跳地址就携带参数 跳转到登录页
        // 使用空白函数覆盖原有的生命周期 onLoad 和onShow
        currentPage.onLoad = () => {}
        currentPage.onShow = () => {}
        wx.redirectTo({
          url: '/pages/login/index?redirectUrl=' + route,
        })
      }
    },
  },
  /**
   * 组件的初始数据
   */
  data: {
    isLogin: true,
  },

  /**
   * 组件的方法列表
   */
  methods: {},
})